Universal serial bus devices supporting super speed and non-super speed connections for communication with a host device and methods using the same

ABSTRACT

Universal Serial Bus (USB) devices supporting super speed and non-super speed connections for communication with a host device includes a plurality of endpoints (EPs), a non-super speed connection port, a super speed connection port and a configuration unit. The non-super speed connection port and the super speed connection port are connected to the host device. The configuration unit is arranged for dividing the EPs to first and second groups of EPs according to a bandwidth requirement, determining whether a super speed connection with the host device is successfully established and configuring the first group of EPs to operate at a super speed and configuring the second group of EPs to operate at a non-super speed when the super speed connection with the host device is successfully established such that the USB device communicates with the host device at both the super speed and the non-super speed.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The disclosure relates generally to Universal Serial Bus (USB) devices,and, more particularly to USB devices supporting super speed andnon-super speed connections for communication with a host device andrelated methods.

2. Description of the Related Art

With vigorous development of computers and communications industry, aspecial interface system standard called “Universal Serial Bus” (USB) isestablished for communication connection. USB is a serial bus standardfor external apparatus connection, providing hot plug, plug and play andother related functions. Currently, the USB 2.0 standard provides threetransfer rates: low-speed (LS), full-speed (FS), and high-speed (HS)transfer rates, which support: 1.5 Mbps; 12 Mbps; and 480 Mbps datarates, respectively. However, due to continued advanced technologicaldevelopment, the electronic apparatuses may require to quickly accessdata from external apparatuses and subsequently perform relatedoperations.

Therefore, a next generation USB industry-standard, the USB 3.0standard, was established by the USB Implementers Forum. The USB 3.0standard allows employment of Super Speed (SS) data transfer andnon-Super Speed (i.e. USB 2.0) data transfer simultaneously, whereinSuper Speed data transfer supports up to a 5 Gbps data rate. A USBsystem may include a USB host device and a USB device. The USB hostdevice therein is responsible for controlling the timing and directionof data transmission on the USB. The USB device serves as the peripheralof the USB system.

A USB device may try to establish link on Super Speed (SS) with the hostdevice first and then switch to establish a non-Super Speed such as theHS/FS/LS link if the SS link can not be established. Generally speaking,SS link and HS link cannot be active concurrently for one USB device. Inother words, only one of the SS or HS/FS/LS links can be active at onetime for one USB device. To active SS link and HS link concurrently, aphysically or logically hub device that supports both SS link and HSlink must be provided. Implementation of the hub device, however, canincrease the hardware cost and design complexity for the USB system.

BRIEF SUMMARY OF THE INVENTION

Universal Serial Bus (USB) device supporting super speed and non-superspeed connections for communication with a host device and relatedmethods are provided.

An embodiment of a USB device supporting super speed and non-super speedconnections for communication with a host device includes a plurality ofendpoints (EPs), a non-super speed connection port, a super speedconnection port and a configuration unit. The non-super speed connectionport and the super speed connection port are connected to the hostdevice. The configuration unit is arranged for dividing the EPs to firstand second groups of EPs according to a bandwidth requirement,determining whether a super speed connection with the host device issuccessfully established and configuring the first group of EPs tooperate at a super speed and configuring the second group of EPs tooperate at a non-super speed when the super speed connection with thehost device is successfully established such that the USB devicecommunicates with the host device at both the super speed and thenon-super speed.

In another embodiment, a method for supporting super speed and non-superspeed connections for a plurality of endpoints (EPs) in a USB deviceconnected to a host device is provided. The method comprises the stepsof dividing the EPs to first and second groups of EPs according to abandwidth requirement of each EP, determining whether a super speedconnection with the host device is successfully established, andconfiguring the first group of the EPs to operate at a super speed andconfiguring the second group of the EPs to operate at a non-super speedwhen the super speed connection with the host device is successfullyestablished, such that the USB device is configured to communicate withthe host device at both the super speed and the non-super speed via thesuper speed connection and the non-super speed connection.

Methods for supporting super speed and non-super speed connections for aplurality of EPs in a USB device may take the form of a program codeembodied in a tangible media. When the program code is loaded into andexecuted by a machine, the machine becomes an apparatus for practicingthe disclosed method.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will become more fully understood by referring to thefollowing detailed description with reference to the accompanyingdrawings, wherein:

FIG. 1 is a schematic diagram illustrating an embodiment of a USB systemof the invention;

FIG. 2 is a flowchart of an embodiment of a method for supporting superspeed and non-super speed connections for a plurality of USB endpointsof the invention; and

FIGS. 3A and 3B are schematic diagrams illustrating embodiments of theUSB devices of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The following description is of the best-contemplated mode of carryingout the invention. This description is made for the purpose ofillustrating the general principles of the invention and should not betaken in a limiting sense. The scope of the invention is best determinedby reference to the appended claims.

FIG. 1 is a schematic diagram illustrating an embodiment of an USBsystem of the invention. The USB system 10 of the invention at leastcomprises a USB device 100 and a host device 200. For example, the USBdevice 100 may be a portable USB device and the host device 200 may be acomputer system, but it is not limited thereto. The USB device 100 maycommunicate with the host device 200 through a super speed connection ornon-super speed connection. It is understood that, the non-super speedmay comprise at least one of USB low-speed (LS), high-speed (HS) andfull-speed (FS).

The USB device 100 may support both the super speed and non-super speedconnections for communication with the host device 200. It is notedthat, the USB device 100 is directly connected to the host device 200without any hub device configured therebetween. The USB device 100 atleast includes a plurality of endpoints (EPs) 110, a non-super speedconnection port 120, a super speed connection port 130 and aconfiguration unit 140. The non-super speed connection port 120 and thesuper speed connection port 130 are connected to responsive ports of thehost device 200.

The USB device 100 may receive/transmit a pair of differential signalsD+/D− that conform to the USB 2.0 standard from/to the host device 200via the non-super speed connection port (e.g. a USB 2.0 port) 120,wherein the non-super speed connection port 120 includes pins D+ and D−for receiving/transmitting a pair of differential signals D+/D− thatconform to the USB 2.0 standard. In order to simplify the description,the ground and power wires of the non-super speed connection port 120are not described further. Similarly, the USB device 100 mayreceive/transmit the differential signals that conform to a super speedstandard from/to the host device 200 via the super speed connection port130, wherein the super speed connection port 130 includes pins SSTX+,SSTX−, SSRX+ and SSRX− for receiving/transmitting differential signalsinclude a pair of transmitter differential signals SSTX+/SSTX− and apair of receiver differential signals SSRX+/SSRX−, respectively. The USBdevice 100 may communicate with the host device 200 at a super speed viathe super speed connection port 130 and may communicate with the hostdevice 200 at a non-speed (e.g. a HS) via the non-super speed connectionport 120. The USB device 100 may be capable of operating at the superspeed and the non-super speed, such as high speed or full speedsimultaneously. For example, the USB device 100 may be coupled to thesuper speed connection port of the host device 200 through the superspeed connection port 130 for interacting with the host device 200 atthe super speed. Similarly, the USB device 100 may be coupled to anon-super speed connection port of the host device 200 through thenon-super speed connection port 120 for interacting with the host device200 at the non-super speed. The USB device 100 may comprise a pluralityof endpoints (EPs) 110, which are used to implement device functions,and each endpoint is assigned with a one-and-only number called“endpoint number”. In some embodiments, the USB device 100 may consistof a USB 3.0 device providing a first group of EPs and a USB 2.0 deviceproviding a second group of EPs. In some embodiments, the USB device 100may consist of a first functional block providing a first group of EPsand a second functional block providing a second group of EPs.

The configuration unit 140 can perform the method for supporting superspeed and non-super speed connections for a plurality of USB EPs of thepresent invention, which will be discussed further in the followingparagraphs. It is noted that, the configuration unit 140 can be arrangedfor dividing the EPs to first and second groups of EPs according to abandwidth requirement. In some embodiments, each EP may have a bandwidthrequirement, either a low bandwidth requirement or a high bandwidthrequirement, and the configuration unit 140 may divide the EPs to firstand second groups of EPs by configuring the EPs with the high bandwidthrequirement to be the first group of EPs and configuring the EPs withthe low bandwidth requirement to be the second group of EPs. In someembodiments, there may be some EPs that are limited for operating at thenon-super speed (e.g. a HS, FS or LS) and the configuration unit 140 mayfurther configure the EPs that are limited for operating at thenon-super speed to be the second group of EPs.

FIG. 2 is a flowchart of an embodiment of a method for supporting superspeed and non-super speed connections for a plurality of USB EPs of theinvention. Please refer to FIGS. 1 and 2. The method can be applied tothe USB device 100 as shown in FIG. 1, such as a USB composite devicecomprising both a USB 3.0 device and a USB 2.0 device or a single devicecomprising a first functional block containing functions that arerequired to be operated at the super speed and a second functional blockcontaining functions that can be operated at the non-super speed.However, it is to be understood that the invention is not limitedthereto. In this embodiment, the USB device 100 is connected to the hostdevice 200 through the non-super speed connection port 120 and the superspeed connection port 130 simultaneously so that the USB device 100 mayattempt to establish a super speed communication link and/or a non-superspeed communication link with the host device 200 to communicate withit. It is noted that, the USB device 100 is directly connected to thehost device 200 without any hub device configured therebetween.

First, in step S202, the configuration unit 140 divides all of EPs 110in the USB device into a first group of EPs GA and a second group of EPsGB. In some embodiments, each EP may have a bandwidth requirement,either a low bandwidth requirement or a high bandwidth requirement, andthe configuration unit 140 may divide the EPs to first and second groupsof EPs by configuring the EPs with the high bandwidth requirement to bethe first group of EPs GA and configuring the EPs with the low bandwidthrequirement to be the second group of EPs GB. In some embodiments, theremay be some EPs that are limited, by software or hardware component, foroperating at the non-super speed (e.g. a HS, FS or LS) and theconfiguration unit 140 may further configure the EPs that are limitedfor operating at the non-super speed to be the second group of EPs GB.

After the first group of EPs GA and the second group of EPs GB have beendetermined, in step S204, the configuration unit 140 then determineswhether a super speed connection with the host device 200 issuccessfully established. In this step, the configuration unit 140 firsttries to establish a super speed connection with the host device 200through the super speed connection port 130 such that the host device200 may detect that a USB 3.0 device has been connected. The host device200 may establish a super speed connection with the USB device 100 if itsupports the super speed data transmission and the super speedconnection between the host device 200 and the USB device 100 can besuccessfully established. Contrarily, the host device 200 may establisha non-super speed connection (e.g. a high-speed connection) with the USBdevice 100 if it does not support the super speed data transmission andthe super speed connection between the host device 200 and the USBdevice 100 is not successfully established. The configuration unit 140may then configure the first group of EPs GA to be operated at the superspeed or the non-super speed according to the determination result instep S204.

If the super speed connection with the host device 200 is successfullyestablished (Yes in step S204), which means that the host device 200supports the super speed data transmission, in step S206, theconfiguration unit 140 configures the first group of EPs GA to operateat the super speed and configures the second group of EPs GB to operateat the non-super speed. The procedure ends. In this case, because theUSB device 100 has established a super speed connection and a non-superspeed connection with the host device 200 at the same time so that theUSB device 100 can communicate with the host device 200 at both thesuper speed and the non-super speed. For example, the USB device 100 cancommunicate with the host device 200 at the super speed and the highspeed.

If the super speed connection with the host device 200 is notsuccessfully established (No in step S204), which means that the hostdevice 200 does not support the super speed data transmission, in stepS208, the configuration unit 140 configures both the first group of EPsGA and the second group of EPs GB to operate at the non- super speed andthe procedure ends. In this step, the USB device 100 may establish anon-super speed connection (e.g. a FS/HS/LS connection) with the hostdevice 200. Because the USB device 100 has only established a non-superspeed connection with the host device 200, the USB device 100 cancommunicate with the host device 200 at the non-super speed. Forexample, the USB device 100 can communicate with the host device 200 atthe full speed.

In some embodiments, the USB device 100 may consist of a USB 3.0 deviceproviding a group of EPs and a USB 2.0 device providing another group ofEPs and the configuration unit of the USB device may further determinewhether the EPs belong to the USB 3.0 device or the USB 2.0 device. FIG.3A is a schematic diagram illustrating an embodiment of a USB device ofthe invention. As shown in FIG. 3A, the USB device 300 consists of a USB3.0 device 310, a USB 2.0 device 320 and a configuration unit 330,wherein the USB 3.0 device 310 provides a group of EPs and the USB 2.0device 320 provides another group of EPs. The configuration unit 330 maycollect the group of EPs from the USB 3.0 device 310 and the group ofEPs from the USB 2.0 device 320 and configure the group of EPs belong tothe USB 3.0 device to be the first group of EPs GA and configure thegroup of EPs belong to the USB 2.0 device to be the second group of EPsGB. Then, the configuration unit 330 determines whether a super speedconnection with the host device 200 is successfully established. Theconfiguration unit 330 tries to establish a super speed connection withthe host device 200 through the super speed connection port such thatthe host device 200 may detect that a USB 3.0 device has been connected.In this embodiment, it is assumed that the host device 200 supports thesuper speed data transmission so that the super speed connection withthe host device 200 is successfully established. Therefore, theconfiguration unit 330 may then configure the first group of EPs GA tooperate at the super speed and configures the second group of EPs GB tooperate at the non-super speed. The USB device 100 can communicate withthe host device 200 at both the super speed and the non-super speed.

In some embodiments, the USB device 100 may be a single deviceconsisting of a first functional block providing a group of EPs whichcan be operated at the super speed and a second functional blockproviding another group of EPs which can be operated at the non-superspeed, the configuration unit of the USB device may further determinethe EPs belong to which functional block. FIG. 3B is a schematic diagramillustrating another embodiment of the USB device of the invention. Asshown in FIG. 3B, the USB device 400 consists of a first functionalblock 410, a second functional block 420 and a configuration unit 430,wherein the first functional block 410 provides a group of EPs which canbe operated at the super speed and the second functional block 420provides another group of EPs which can be operated at the non-superspeed. The configuration unit 430 may collect the group of EPs from thefirst functional block 410 and the group of EPs from the secondfunctional block 420 and configure the group of EPs belong to the firstfunctional block 410 to be first group of EPs GA and configure the groupof EPs belong to the second functional block 420 to be second group ofEPs GB. It is understood that, a USB device may only has a single deviceaddress, e.g. the endpoint zero (EPO) for device identification, becausethe host device 200 only assigns a device address to a function. In thiscase, the configuration unit 430 further configures one of the secondgroup of EPs as endpoint zero when the super speed connection with thehost device 200 is successfully established to report to the host device200 that, in addition to a super speed device has connected, there isother non-super speed device has connected at the same time. Similarly,the configuration unit 430 may then determine whether a super speedconnection with the host device 200 is successfully established. Theconfiguration unit 430 tries to establish a super speed connection withthe host device 200 through the super speed connection port such thatthe host device 200 may detect that a super speed device has beenconnected.

If the host device 200 supports the super speed data transmission, thesuper speed connection with the host device 200 can be successfullyestablished so that the configuration unit 430 may then configure thefirst group of EPs GA to operate at the super speed and configure thesecond group of EPs GB to operate at the non-super speed. Therefore, theUSB device 400 can communicate with the host device 200 at both thesuper speed and the non-super speed. If the host device 200 does notsupport the super speed data transmission, the super speed connectionwith the host device 200 is not successfully established so that theconfiguration unit 430 may then configure both the first group of EPs GAand the second group of EPs GB to operate at the non-super speed (e.g.the HS). In some embodiments, if there are some EPs that are limited foroperating at the non-super speed (e.g. the FS or LS) and theconfiguration unit 430 may further configure those EPs that are limitedfor operating at the non-super speed to be the second group of EPs.

In sum, the USB device and related methods for supporting super speedand non-super speed connections for a plurality of EPs of the inventioncan support both super speed and non-super speed connections between thehost device and the USB device concurrently without implementing any hubdevice therebetween, thus simplifying the hardware architecture of theUSB device. Moreover, the USB device can utilize the idle bandwidth ofthe non-super speed connection link when the link is established on thesuper speed connection link such that the USB device can use thebandwidth of both the super speed connection link and the non-superspeed connection link, thus increasing the overall performance of oneUSB device.

Methods for supporting super speed and non-super speed connections for aplurality of EPs in a USB device, or certain aspects or portionsthereof, may take the form of a program code (i.e., executableinstructions) embodied in tangible media, such as floppy diskettes,CD-ROMS, hard drives, or any other machine-readable storage medium,wherein, when the program code is loaded into and executed by a machine,such as a computer, the machine thereby becomes an apparatus forpracticing the methods. The methods may also be embodied in the form ofa program code transmitted over some transmission medium, such aselectrical wiring or cabling, through fiber optics, or via any otherform of transmission, wherein, when the program code is received andloaded into and executed by a machine, such as a computer, the machinebecomes an apparatus for practicing the disclosed methods. Whenimplemented on a general-purpose processor, the program code combineswith the processor to provide a unique apparatus that operatesanalogously to application specific logic circuits.

While the invention has been described by way of example and in terms ofpreferred embodiment, it is to be understood that the invention is notlimited thereto. Those who are skilled in this technology can still makevarious alterations and modifications without departing from the scopeand spirit of this invention. Therefore, the scope of the presentinvention shall be defined and protected by the following claims andtheir equivalent.

1. A Universal Serial Bus (USB) device supporting super speed andnon-super speed connections for communication with a host device,comprising: a plurality of endpoints (EPs); a non-super speed connectionport connected to the host device; a super speed connection portconnected to the host device; and a configuration unit, dividing the EPsto first and second groups of EPs according to a bandwidth requirementof each EP, determining whether a super speed connection with the hostdevice is successfully established and configuring the first group ofEPs to operate at a super speed and configuring the second group of EPsto operate at a non-super speed when the super speed connection with thehost device is successfully established, such that the USB device isconfigured to communicate with the host device at both the super speedand the non-super speed via the super speed connection and the non-superspeed connection respectively.
 2. The USB device of claim 1, wherein theconfiguration unit further configures the first group of EPs and thesecond group of EPs to operate at the non-super speed when the superspeed connection with the host device is not successfully established.3. The USB device of claim 1, wherein the first group of EPs are EPswith a high bandwidth requirement and the second group of EPs are EPswith a low bandwidth requirement.
 4. The USB device of claim 1, whereinthe second group of EPs are EPs that are limited for operating at thenon-super speed.
 5. The USB device of claim 1, wherein the non-superspeed comprises USB low-speed (LS), high-speed (HS) and full-speed (FS).6. The USB device of claim 1, wherein the USB device further comprise afirst functional block providing the first group of EPs and a secondfunctional block providing the second group of EPs.
 7. The USB device ofclaim 6, wherein the configuration unit further configures one of thesecond group of EPs as endpoint zero when the super speed connectionwith the host device is successfully established.
 8. The USB device ofclaim 1, further comprising a USB 3.0 device providing the first groupof EPs and a USB 2.0 device providing the second group of EPs.
 9. Amethod for supporting super speed and non-super speed connections for aplurality of endpoints (EPs) in a USB device connected to a host device,comprising: dividing the EPs to first and second groups of EPs accordingto a bandwidth requirement of each EP; determining whether a super speedconnection with the host device is successfully established; andconfiguring the first group of the EPs to operate at a super speed andconfiguring the second group of the EPs to operate at a non-super speedwhen the super speed connection with the host device is successfullyestablished, such that the USB device is configured to communicate withthe host device at both the super speed and the non-super speed via thesuper speed connection and the non-super speed connection.
 10. Themethod of claim 9, further comprising: configuring the first group ofEPs and the second group of EPs to operate at the non-super speed whenthe super speed connection with the host device is not successfullyestablished.
 11. The method of claim 9, wherein the step of dividing theEPs to first and second groups of EPs according to the bandwidthrequirement further comprises: dividing the EPs to a group of EPs with ahigh bandwidth requirement and a group of EPs with a low bandwidthrequirement; and configuring the group of EPs with the high bandwidthrequirement to be the first group of EPs and the group of EPs with thelow bandwidth requirement to be the second group of EPs.
 12. The methodof claim 9, wherein the step of dividing the EPs to first and secondgroups of EPs according to the bandwidth requirement of each EP furthercomprises: configuring the EPs that are limited for operating at thenon-super speed to be the second group of EPs.
 13. The method of claim9, wherein the non-super speed comprises USB low-speed (LS), high-speed(HS) and full-speed (FS).
 14. The method of claim 9, wherein the firstgroup of EPs are provided by a first functional block and the secondgroup of EPs are provided by a second functional block.
 15. The methodof claim 9, wherein the USB device further comprises a USB 3.0 deviceand a USB 2.0 device and the first group of EPs is provided by the USB3.0 device and the second group of EPs is provided by the USB 2.0device.
 16. A non-transitory machine-readable storage medium comprisinga computer program, which, when executed, causes a device to perform amethod for method for supporting super speed and non-super speedconnections for a plurality of endpoints (EPs) of a Universal Serial Bus(USB) device, wherein the method comprises: dividing the EPs to firstand second groups of EPs according to a bandwidth requirement of eachEP; determining whether a super speed connection with a host device issuccessfully established; and configuring the first group of the EPs tooperate at a super speed and configuring the second group of the EPs tooperate at a non-super speed when the super speed connection with thehost device is successfully established, such that the USB device isconfigured to communicate with the host device at both the super speedand the non-super speed via the super speed connection and the non-superspeed connection.
 17. The non-transitory machine-readable medium ofclaim 16, wherein the method further comprises: configuring the firstgroup of EPs and the second group of EPs to operate at the non-superspeed when the super speed connection with the host device is notsuccessfully established.